import buildURL from 'axios/lib/helpers/buildURL';

/**
 * 根据 baseURL、url 和 params 构建完整 URL
 * @param {string} baseURL - 基本 URL
 * @param {string} url - 请求 URL
 * @param {Record<string, any>} params - 查询参数对象
 * @param {import('axios').AxiosRequestConfig.paramsSerializer} [paramsSerializer] - 参数序列化函数
 * @returns {string} 完整的请求 URL
 */
export function getFullURL(baseURL, url, params, paramsSerializer) {
  if (url.startsWith('http')) {
    return buildURL(url, params, paramsSerializer);
  }
  baseURL = baseURL.endsWith('/') ? baseURL : `${baseURL}/`;
  url = url.startsWith('/') ? url.slice(1) : url;
  return buildURL(`${baseURL}${url}`, params, paramsSerializer);
}

export function updateChat() {
  const updateManager = uni.getUpdateManager();
  if (!updateManager) return;
  updateManager.onCheckForUpdate((/*res*/) => {
    // console.log(res.hasUpdate, '请求完新版本信息的回调--------251')
  });
  updateManager.onUpdateReady(() => {
    uni.showModal({
      title: '更新提示',
      content: '新版本已经准备好，点击“确定”重启应用',
      showCancel: false,
      success(res) {
        if (res.confirm) {
          // 新的版本已经下载好，调用 applyUpdate 应用新版本并重启
          updateManager.applyUpdate();
        }
      },
    });
  });

  updateManager.onUpdateFailed(() => {
    // 新的版本下载失败
    uni.showModal({
      title: '更新失败',
      content: '请退出并移除小程序，重新打开',
      showCancel: false,
    });
  });
}
